1. Field of the Invention
The present invention relates to an information processing apparatus and method. More particularly, the present invention relates to an information processing apparatus and method which makes it possible to improve burst-packet-loss resilience while restraining an increase in unnecessary delays in data transmission.
2. Description of the Related Art
In recent years, there is an increasing demand for transmitting multimedia data with a low delay through the Internet or the other transmission lines. For example, a so-called remote medical operation application is provided. In the remote medical operation, medical centers at two remote places are connected through the Internet, etc., an operation scene at one of remote operating rooms is transmitted by video to the other of the remote operating rooms, and surgical tools are operated at the other remote operating room while viewing the video. In such an application, video transmission is requested to have a delay not more than a few frame intervals.
In order to meet such a request, a proposal (for example, Japanese Unexamined Patent Application Publication No. 2007-311924) has been made of a method of handling each few lines of each picture of video as one compression coded block and performing compression coding on the block by wavelet transformation. In this method, a coding apparatus can start compression coding before all the data in a picture is input. Also, if the compressed data is transmitted through a network, and the compressed data is decoded at a receiving side, the decoder can start decoding processing before all the data in a picture is received. Accordingly, if a network propagation delay is sufficiently small, it becomes possible to transmit real-time video with a delay of a frame interval or less.
The Internet techniques suitable for such real-time transmission include RTP (Realtime Transport Protocol), which is defined by the RFC (Request for Comments) 3550 of IETF (Internet Engineering Task Force). In data transfer by RTP, a time stamp is added to a packet as time information, and thus a time relationship between a transmission side and a receiving side is obtained. In this manner, it becomes possible to reproduce synchronized data without the influence of delay fluctuations (jitters) of the packet transfer.
In this regard, RTP does not guarantee real-time data transfer. The transport service provided by RTP does not include setting the priorities of packet delivery, management, etc. Accordingly, delivery delay and packet loss may occur in RTP packets in the same manner as the packets of the other protocols.
However, even if there are a few data loss, only the data quality is deteriorated, and it is possible to reproduce data at the receiving side using only the packets arrived in an expected time period. In this regard, a packet delivered with a delay and a packet having an error are directly discarded at the receiving side.
In this manner, in the case of network transmission, even if high-quality data is delivered, the data might not be fully reproduced at the receiving side by packet losses and errors. In general, the probability of the occurrence of an error is 10−5 or more in a wired section, and is 10−3 or more in a wireless section. Accordingly, it is not possible to sufficiently maintain the quality of media to be delivered using RTP without change.
As a method of using another protocol, a method of using TCP (Transmission Control Protocol), which has a high reliability in data transfer, is considered to be used. However, although TCP is resilient against errors, TCP has a low throughput and a large delay, and thus TCP is not suitable for low-delay data transmission. For example, if a receiving side requests packet retransmission at the time of the occurrence of an error, the retransmitted packet might not arrive in time for the reproduction of the packet.
Thus, as a method of improving the reliability of data transfer using RTP, there is a forward error correction method, namely FEC (Forward Error Correction), which performs redundancy coding on data. (For example, Alexander E. Mohr, Student Member, IEEE, Eve A. Riskin, Senior Member, IEEE, and Richard E. Ladner, Member, IEEE, “Unequal Loss Protection: Graceful Degradation of Image Quality over Packet Erasure Channels Through Forward Error Correction” IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 18, No. 6, pp 819-828, JUNE 2000). In the FEC method, a plurality of packets is gathered into one FEC block, and redundancy coding is performed using error correction codes, such as RS (Reed-Solomon) codes, etc. For example, in the case of using the (n, k) RS code, assuming that the number of original packets is k, n−k redundant packets can be generated (n>k). In this case, if a transmission apparatus transmits n packets in total, and a receiving apparatus receives k packets out of the n packets, it is possible to recover the k original packets by the RS decoding processing. For example, a redundancy coding method in accordance with priorities is described in the above-described non-patent document.
When redundancy coding is performed using the FEC method, the recovery performance from a packet loss depends on the FEC block size and the number of redundant packets (n−k). In particular, the recovery performance from a consecutive packet loss, namely a burst packet loss, on a data sequence, which occurs during data transmission through a network, has a strong relationship with the FEC block size. In general, the larger the FEC block size is, the more the recovery performance from a burst packet loss improves.